package com.candy.dao;

import com.candy.bean.UserInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserInfoMapper {
//    根据主键删除操作
    int deleteByPrimaryKey(Integer id);
//新增方法
    int insert(UserInfo record);
//新增操作，可以选择传递的参数
    int insertSelective(UserInfo record);
//根据主键进行查询操作
    UserInfo selectByPrimaryKey(Integer id);
//修改操作，可以选择修改的字段
    int updateByPrimaryKeySelective(UserInfo record);
//修改操作，需要传所有字段
    int updateByPrimaryKey(UserInfo record);
//查询所有信息的（利用动态sql：choose when otherwise）
    List<UserInfo> getAllUserInfoes(UserInfo userInfo);

//查询id值包含的信息结果（参数为集合类型，使用foreach标签实现）
    List<UserInfo> selectUserInfoByIds(List<Integer> ids);
//    根据条件进行查询获取结果，可以实现模糊查询（使用bind标签实现）
    List<UserInfo> selectByParams(UserInfo userInfo);
//多参数参数问题，可以使用arg0、arg1或param1、param2去进行指定参数的位置
    List<UserInfo> selectByMoreParams(String username,String useraddress);
    //多参数参数问题，可以使用注解方式指定参数的名字

    List<UserInfo> selectByMoreParams2(@Param("username") String username, @Param("useraddress") String useraddress);
}